package com.wwu.system.entity;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wwu.common.constant.CommConst;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 系统配置实体
 * @author 一蓑烟雨
 * @date 2023/5/31 9:35
 */
@Data
@Accessors(chain = true)
@TableName("sys_config")
@ApiModel(value="SysConfig:系统配置实体", description="系统配置实体")
public class SysConfig implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "记录流水号")
    @JSONField(ordinal = 1)
    @TableId(value = "record_id", type = IdType.ASSIGN_ID)
    private String recordId;

    @ApiModelProperty(value = "系统名称(简称)")
    @JSONField(ordinal = 2)
    @TableField("system_name")
    private String systemName;

    @ApiModelProperty(value = "系统名称(全称)")
    @JSONField(ordinal = 3)
    @TableField("system_full_name")
    private String systemFullName;

    @ApiModelProperty(value = "系统logo")
    @JSONField(ordinal = 4)
    @TableField("system_logo")
    private String systemLogo;

    @ApiModelProperty(value = "登录页背景图")
    @JSONField(ordinal = 5)
    @TableField("login_back_img")
    private String loginBackImg;

    @ApiModelProperty(value = "网站标题")
    @JSONField(ordinal = 6)
    @TableField("website_title")
    private String websiteTitle;

    @ApiModelProperty(value = "网站图标")
    @JSONField(ordinal = 7)
    @TableField("website_icon")
    private String websiteIcon;

    @ApiModelProperty(value = "网站关键字")
    @JSONField(ordinal = 8)
    @TableField("website_keywords")
    private String websiteKeywords;

    @ApiModelProperty(value = "网站描述")
    @JSONField(ordinal = 9)
    @TableField("website_desc")
    private String websiteDesc;

    @ApiModelProperty(value = "网站备案号")
    @JSONField(ordinal = 10)
    @TableField("website_record_no")
    private String websiteRecordNo;

    @ApiModelProperty(value = "网站图版权信息")
    @JSONField(ordinal = 11)
    @TableField("website_copy_right")
    private String websiteCopyRight;

    @ApiModelProperty(value = "删除状态(0:逻辑未删除；1:逻辑已删除)")
    @JSONField(ordinal = 12)
    @TableField("del_flag")
    @TableLogic
    private Integer delFlag;

    @ApiModelProperty(value = "创建人")
    @JSONField(ordinal = 13)
    @TableField(value = "creator",fill = FieldFill.INSERT)
    private String creator;

    @ApiModelProperty(value = "创建时间")
    /** 格式化后台和前端显示样式 */
    @DateTimeFormat(pattern = CommConst.DATE_TIME)
    @JsonFormat(pattern = CommConst.DATE_TIME,timezone = CommConst.TIME_ZONE)
    @JSONField(ordinal = 14)
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改人")
    @JSONField(ordinal = 15)
    @TableField(value = "modifier",fill = FieldFill.INSERT_UPDATE)
    private String modifier;

    @ApiModelProperty(value = "修改时间")
    /** 格式化后台和前端显示样式 */
    @DateTimeFormat(pattern = CommConst.DATE_TIME)
    @JsonFormat(pattern = CommConst.DATE_TIME,timezone = CommConst.TIME_ZONE)
    @JSONField(ordinal = 16)
    @TableField(value = "modify_time",fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime modifyTime;
}